﻿using System;
using UnityEditor;
using UnityEngine;

namespace AmazingAssets
{
    namespace CurvedWorldEditor
    {
        public class CurvedWorldToggleFloatDrawer : MaterialPropertyDrawer
        {
            public override void OnGUI(Rect position, MaterialProperty prop, String label, MaterialEditor editor)
            {
                // Setup
                bool value = (prop.floatValue > 0.5f);

                EditorGUI.BeginChangeCheck();
                EditorGUI.showMixedValue = prop.hasMixedValue;

                // Show the toggle control
                value = EditorGUI.Toggle(position, label, value);

                EditorGUI.showMixedValue = false;
                if (EditorGUI.EndChangeCheck())
                {
                    // Set the new value if it has changed
                    prop.floatValue = value ? 1.0f : 0.0f;
                }
            }
        }
    }
}